package com.fegin.bean.admin;

import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author 张子艺
 * @since 2019-01-24
 */
@TableName("admin_user")
public class AdminUser extends Model<AdminUser> {

    private static final long serialVersionUID = 1L;

	private Long id;
    /**
     * 帐号
     */
	private String account;
    /**
     * 密码
     */
	private String password;
    /**
     * 昵称
     */
	private String nickname;
    /**
     * 用户名
     */
	private String username;
    /**
     * 添加时间
     */
	@TableField("create_time")
	private Long createTime;
    /**
     * 最后登录时间
     */
	@TableField("last_login_time")
	private Date lastLoginTime;
	private Date timestamp;
    /**
     * 其他状态
     */
	private Integer status;
    /**
     * 0:有效 1:禁止登录
     */
	@TableField("is_disable")
	private Integer isDisable;
    /**
     * 1:删除，0:未删除
     */
	@TableField("is_delete")
	private Integer isDelete;
    /**
     * 父级管理员id
     */
	@TableField("admin_parent_id")
	private Long adminParentId;
    /**
     * 父级分销代理商id
     */
	@TableField("agent_parent_id")
	private Long agentParentId;
    /**
     * 代理商邀请码
     */
	@TableField("user_invite_code")
	private String userInviteCode;
    /**
     * 推荐邀请关系树
     */
	@TableField("invitation_path")
	private String invitationPath;
    /**
     * 审核状态(1-待审核;2-已审核;3-拒绝)
     */
	@TableField("inspect_status")
	private Integer inspectStatus;

	/**
	 * 角色名字
	 */
	@TableField(exist = false)
	private String roleName;

	@TableField(exist = false)
	private AdminRole role;

	public String getRoleName() {
		return roleName;
	}

	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}

	public AdminRole getRole() {
		return role;
	}

	public void setRole(AdminRole role) {
		this.role = role;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getAccount() {
		return account;
	}

	public void setAccount(String account) {
		this.account = account;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getNickname() {
		return nickname;
	}

	public void setNickname(String nickname) {
		this.nickname = nickname;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public Long getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Long createTime) {
		this.createTime = createTime;
	}

	public Date getLastLoginTime() {
		return lastLoginTime;
	}

	public void setLastLoginTime(Date lastLoginTime) {
		this.lastLoginTime = lastLoginTime;
	}

	public Date getTimestamp() {
		return timestamp;
	}

	public void setTimestamp(Date timestamp) {
		this.timestamp = timestamp;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Integer getIsDisable() {
		return isDisable;
	}

	public void setIsDisable(Integer isDisable) {
		this.isDisable = isDisable;
	}

	public Integer getIsDelete() {
		return isDelete;
	}

	public void setIsDelete(Integer isDelete) {
		this.isDelete = isDelete;
	}

	public Long getAdminParentId() {
		return adminParentId;
	}

	public void setAdminParentId(Long adminParentId) {
		this.adminParentId = adminParentId;
	}

	public Long getAgentParentId() {
		return agentParentId;
	}

	public void setAgentParentId(Long agentParentId) {
		this.agentParentId = agentParentId;
	}

	public String getUserInviteCode() {
		return userInviteCode;
	}

	public void setUserInviteCode(String userInviteCode) {
		this.userInviteCode = userInviteCode;
	}

	public String getInvitationPath() {
		return invitationPath;
	}

	public void setInvitationPath(String invitationPath) {
		this.invitationPath = invitationPath;
	}

	public Integer getInspectStatus() {
		return inspectStatus;
	}

	public void setInspectStatus(Integer inspectStatus) {
		this.inspectStatus = inspectStatus;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "AdminUser{" +
			"id=" + id +
			", account=" + account +
			", password=" + password +
			", nickname=" + nickname +
			", username=" + username +
			", createTime=" + createTime +
			", lastLoginTime=" + lastLoginTime +
			", timestamp=" + timestamp +
			", status=" + status +
			", isDisable=" + isDisable +
			", isDelete=" + isDelete +
			", adminParentId=" + adminParentId +
			", agentParentId=" + agentParentId +
			", userInviteCode=" + userInviteCode +
			", invitationPath=" + invitationPath +
			", inspectStatus=" + inspectStatus +
			"}";
	}
}
